第21天。以前看了某一部漫畫之後,我就很喜歡21這個數字了。人真是容易被改變。
從這集開始,我們將從另一個角度來看設計模式,在這裡我們將從之前的練習中一直講到的幾個原則來做個整理。首先第一個要說的是:單一職責原則SRP(Single Responsibility Principle)。
單一職責原則是在SOLID中被提及的原則之一。SOLID是Robert C. Martin所提出的的五個物件導向程式設計基本原則的縮寫,這五個原則分別是:
var modem = function (phoneNumber,data) {
var connect = dail();
send();
function dail() {
//省略
}
function hangup() {
//省略
}
function recv() {
//省略
}
function send() {
connect.sendData(data);
}
};
過程中會先建立連線,然後拿建立連線的物件去傳送資料。這時候就會發現當我們如果修改了dial物件就可能會影響到其他跟建立連線不相關的物件。如果我們依照職責(建立連線、傳送資料)來分類,並各自獨立這些物件,維護起來就會簡潔許多:
var Connect = function () {
function dail() {
//省略
}
function hangup() {
//省略
}
return connect;
};
var DataHandle = function (data, connect) {
function recv() {
//省略
}
function send() {
connect.sendData(data);
}
};
以上是示意,下一部分將直接拿我們之前舉過的模式範例來練習一下。